/**
 ******************************************************************************
 * @file    sci.h
 * @author  hyseim software Team
 * @date    18-Aug-2023
 * @brief   This file provides all the headers of the sci functions.
 ******************************************************************************
 * @attention
 *
 * Copyright (c) 2020 Hyseim. Co., Ltd.
 * All rights reserved.
 *
 * This software is licensed under terms that can be found in the LICENSE file
 * in the root directory of this software component.
 * If no LICENSE file comes with this software, it is provided AS-IS.
 *
 ******************************************************************************
 */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __SCI_H__
#define __SCI_H__
#include "chip_define.h"

#ifdef __cplusplus
extern "C"
{
#endif
//-------------------------------------------------------------------------------
// define address offset
//-------------------------------------------------------------------------------
#define SCIDATA SCI0_BASE + (0x00)
#define SCICR0 SCI0_BASE + (0x04)
#define SCICR1 SCI0_BASE + (0x08)
#define SCICR2 SCI0_BASE + (0x0C)
#define SCICLKICC SCI0_BASE + (0x10)
#define SCIVALUE SCI0_BASE + (0x14)
#define SCIBAUD SCI0_BASE + (0x18)
#define SCITIDE SCI0_BASE + (0x1C)
#define SCIDMACR SCI0_BASE + (0x20)
#define SCISTABLE SCI0_BASE + (0x24)
#define SCIATIME SCI0_BASE + (0x28)
#define SCIDTIME SCI0_BASE + (0x2C)
#define SCIATRSTIME SCI0_BASE + (0x30)
#define SCIATRDTIME SCI0_BASE + (0x34)
#define SCISTOPTIME SCI0_BASE + (0x38)
#define SCISTARTTIME SCI0_BASE + (0x3C)
#define SCIRETRY SCI0_BASE + (0x40)
#define SCICHTIMELS SCI0_BASE + (0x44)
#define SCICHTIMEMS SCI0_BASE + (0x48)
#define SCIBLKTIMELS SCI0_BASE + (0x4C)
#define SCIBLKTIMEMS SCI0_BASE + (0x50)
#define SCICHGUARD SCI0_BASE + (0x54)
#define SCIBLKGUARD SCI0_BASE + (0x58)
#define SCIRXTIME SCI0_BASE + (0x5C)
#define SCIFIFOSTATUS SCI0_BASE + (0x60)
#define SCITXCOUNT SCI0_BASE + (0x64)
#define SCIRXCOUNT SCI0_BASE + (0x68)
#define SCIIMSC SCI0_BASE + (0x6C)
#define SCIRIS SCI0_BASE + (0x70)
#define SCIMIS SCI0_BASE + (0x74)
#define SCIICR SCI0_BASE + (0x78)
#define SCISYNCACT SCI0_BASE + (0x7C)
#define SCISYNCTX SCI0_BASE + (0x80)
#define SCISYNCRX SCI0_BASE + (0x84)

#define SCIPeriphID00 SCI0_BASE + (0xFE0)
#define SCIPeriphID1 SCI0_BASE + (0xFE4)
#define SCIPeriphID2 SCI0_BASE + (0xFE8)
#define SCIPeriphID3 SCI0_BASE + (0xFEC)
#define SCIPCellID0 SCI0_BASE + (0xFF0)
#define SCIPCellID1 SCI0_BASE + (0xFF4)
#define SCIPCellID2 SCI0_BASE + (0xFF8)
#define SCIPCellID3 SCI0_BASE + (0xFFC)

#define SCITCR SCI0_BASE + (0xF00)
#define SCITIP SCI0_BASE + (0xF04)
#define SCITOP1 SCI0_BASE + (0xF08)
#define SCITOP2 SCI0_BASE + (0xF0C)
#define SCITDR SCI0_BASE + (0xF10)

#define SCI1_SCIDATA SCI1_BASE + (0x00)
#define SCI1_SCICR0 SCI1_BASE + (0x04)
#define SCI1_SCICR1 SCI1_BASE + (0x08)
#define SCI1_SCICR2 SCI1_BASE + (0x0C)
#define SCI1_SCICLKICC SCI1_BASE + (0x10)
#define SCI1_SCIVALUE SCI1_BASE + (0x14)
#define SCI1_SCIBAUD SCI1_BASE + (0x18)
#define SCI1_SCITIDE SCI1_BASE + (0x1C)
#define SCI1_SCIDMACR SCI1_BASE + (0x20)
#define SCI1_SCISTABLE SCI1_BASE + (0x24)
#define SCI1_SCIATIME SCI1_BASE + (0x28)
#define SCI1_SCIDTIME SCI1_BASE + (0x2C)
#define SCI1_SCIATRSTIME SCI1_BASE + (0x30)
#define SCI1_SCIATRDTIME SCI1_BASE + (0x34)
#define SCI1_SCISTOPTIME SCI1_BASE + (0x38)
#define SCI1_SCISTARTTIME SCI1_BASE + (0x3C)
#define SCI1_SCIRETRY SCI1_BASE + (0x40)
#define SCI1_SCICHTIMELS SCI1_BASE + (0x44)
#define SCI1_SCICHTIMEMS SCI1_BASE + (0x48)
#define SCI1_SCIBLKTIMELS SCI1_BASE + (0x4C)
#define SCI1_SCIBLKTIMEMS SCI1_BASE + (0x50)
#define SCI1_SCICHGUARD SCI1_BASE + (0x54)
#define SCI1_SCIBLKGUARD SCI1_BASE + (0x58)
#define SCI1_SCIRXTIME SCI1_BASE + (0x5C)
#define SCI1_SCIFIFOSTATUS SCI1_BASE + (0x60)
#define SCI1_SCITXCOUNT SCI1_BASE + (0x64)
#define SCI1_SCIRXCOUNT SCI1_BASE + (0x68)
#define SCI1_SCIIMSC SCI1_BASE + (0x6C)
#define SCI1_SCIRIS SCI1_BASE + (0x70)
#define SCI1_SCIMIS SCI1_BASE + (0x74)
#define SCI1_SCIICR SCI1_BASE + (0x78)
#define SCI1_SCISYNCACT SCI1_BASE + (0x7C)
#define SCI1_SCISYNCTX SCI1_BASE + (0x80)
#define SCI1_SCISYNCRX SCI1_BASE + (0x84)

#define SCI1_SCIPeriphID00 SCI1_BASE + (0xFE0)
#define SCI1_SCIPeriphID1 SCI1_BASE + (0xFE4)
#define SCI1_SCIPeriphID2 SCI1_BASE + (0xFE8)
#define SCI1_SCIPeriphID3 SCI1_BASE + (0xFEC)
#define SCI1_SCIPCellID0 SCI1_BASE + (0xFF0)
#define SCI1_SCIPCellID1 SCI1_BASE + (0xFF4)
#define SCI1_SCIPCellID2 SCI1_BASE + (0xFF8)
#define SCI1_SCIPCellID3 SCI1_BASE + (0xFFC)

#define SCI1_SCITCR SCI1_BASE + (0xF00)
#define SCI1_SCITIP SCI1_BASE + (0xF04)
#define SCI1_SCITOP1 SCI1_BASE + (0xF08)
#define SCI1_SCITOP2 SCI1_BASE + (0xF0C)
#define SCI1_SCITDR SCI1_BASE + (0xF10)

#ifdef __cplusplus
}
#endif
#endif
